%##%%%%%%%#*++####*++++**###*+******+####%#%%###%%%%%###############%
%##%%%#%%%#++=#*#*+****#*#**++++***++####%##########################%
%#####***++*#%#++***###***++*####**++###############################%
%%#*%%%%%%%@@@@#+++++++++#%@@@@@@@@%+*###%#%#%%%##%%%%%##%%%#%%%%%%#%
%%%*#%%@@@@@@@@%+******+%@@@@@@@@@%%###%#%#%%%%#%%%#%%%#%%##%%%%%#%#%
%###%@@@@@@@@@%*+*++**+#@@@@@%%%%%%%%%%%%#%%#%%%%##%#%%#%%#%%#####%%%
%##*+*#%%%%%#*+*******++%%%%%%%%%##%%%%%#%%%%%%%%%%%%%%#%%%#%%%%%%%#%
####*+***+*++*###########%%%%%#%%%%%#%#%%%#%%%#%####%##%%##%##%%####%
####*+*****+*#######%%%%%%##%%#%%%##%##%#%%#%%%%##%#%#%##%%%%#%%%#%#%
##**+**##***+*#####%##%%#%##%%#%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%#%%%%%#%
***#%%%%%%%%###%%%%##%%%%###%%%%#%%%##%%%%#%####%#%##%###%%##%%%%%%%%
***%%%%%%%%#%#%##%%#%#%%%#%%%%%%%#%%##%%%%#%#%##%%#%%%%%%%###%%%##%#%
##**##%%#%%%%#%%%#%%%%%%%%%%%%%%#%%%%%#%%%%#%%%%#%##%%%%#%####%%%%%#%
%#%###%#%%%####%%###%%%###%%%%#%##%##%%#%##%%%#%%%%#%%%#%%%%#%%%%%%#%
%##%%#%#%%%####%%%##%%%##%%%%%#%#%%%#%%%%##%%%#%%%%#%%%#%%%##%%%%%%#%
%##%##%#%%%####%%####%%####%%%#%##%##%%#%##%%%#%%%%#%%%#%%%%#%%%%%%#%
%##%%%%#%%%###%%%%##%%%##%%%%%#%#%%%#%%%%##%%%#%%%%#%%%%%%%##%%%%%%#%
%##%####%%%####%%###%%%###%%%%#%#%%###%%%##%%%#%%%%#%%%#%%%%#%%%%%%#%
%##%%%%#%%%####%%####%%##%%%%%#%#%%%#%%%%##%#%#%%%%#%%%#%%%##%%%%%%#%
%##%#%##%%%####%%###%%%###%%%%#%#%%%##%%%##%%%#%%%%#%%%#%%%%#%%%%%%#%
%##%%#%#%%%####%%####%%####%#%#%#%%%##%#%##%#%#%%%%#%%%#%%%##%%%%%%#%
%########%%####%#####%%####%%#####%###%%#####%#%%%####%###%%###%%%%#%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@